package com.seguriapp.util;

import java.util.Date;
import java.util.List;

public class SearchFilterEntity {

  private Date startDate;
  private Date endDate;
  private String names;
  private double latitude;
  private double longitude;
  private int distance;
  private long policeStationId;
  private boolean searchByPolStation;
  private int page;
  private int pageSize;
  private boolean ascending;
  private String columnSort;
  private boolean allResults;
  private Long userId;
  private List<Long> idsList;
  private Long entityTypeId;

  public SearchFilterEntity(final Date startDate, final Date endDate, final String names, final double latitude, final double longitude,
      final int distance, final long policeStationId, final boolean searchByPolStation, final int page, final int pageSize, final boolean ascending,
      final String columnSort, final Long userId) {
    this.startDate = startDate;
    this.endDate = endDate;
    this.names = names;
    this.latitude = latitude;
    this.longitude = longitude;
    this.distance = distance;
    this.policeStationId = policeStationId;
    this.searchByPolStation = searchByPolStation;
    this.page = page;
    this.pageSize = pageSize;
    this.ascending = ascending;
    this.columnSort = columnSort;
    this.userId = userId;
  }

  public SearchFilterEntity(final int page, final int pageSize, final boolean ascending, final String columnSort, final List<Long> idsList,
      final long entityTypeId) {
    this.page = page;
    this.pageSize = pageSize;
    this.ascending = ascending;
    this.columnSort = columnSort;
    this.idsList = idsList;
    this.entityTypeId = entityTypeId;
  }

  public SearchFilterEntity(final List<Long> idsList, final long entityTypeId, final boolean allResults) {
    this.idsList = idsList;
    this.entityTypeId = entityTypeId;
    this.allResults = allResults;
  }

  public final Date getStartDate() {
    return startDate;
  }

  public final void setStartDate(final Date startDate) {
    this.startDate = startDate;
  }

  public final Date getEndDate() {
    return endDate;
  }

  public final void setEndDate(final Date endDate) {
    this.endDate = endDate;
  }

  public final String getNames() {
    return names;
  }

  public final void setNames(final String names) {
    this.names = names;
  }

  public final double getLatitude() {
    return latitude;
  }

  public final void setLatitude(final double latitude) {
    this.latitude = latitude;
  }

  public final double getLongitude() {
    return longitude;
  }

  public final void setLongitude(final double longitude) {
    this.longitude = longitude;
  }

  public final int getDistance() {
    return distance;
  }

  public final void setDistance(final int distance) {
    this.distance = distance;
  }

  public final long getPoliceStationId() {
    return policeStationId;
  }

  public final void setPoliceStationId(final long policeStationId) {
    this.policeStationId = policeStationId;
  }

  public final boolean isSearchByPolStation() {
    return searchByPolStation;
  }

  public final void setSearchByPolStation(final boolean searchByPolStation) {
    this.searchByPolStation = searchByPolStation;
  }

  public final int getPage() {
    return page;
  }

  public final void setPage(final int page) {
    this.page = page;
  }

  public final int getPageSize() {
    return pageSize;
  }

  public final void setPageSize(final int pageSize) {
    this.pageSize = pageSize;
  }

  public final boolean isAscending() {
    return ascending;
  }

  public final void setAscending(final boolean ascending) {
    this.ascending = ascending;
  }

  public final String getColumnSort() {
    return columnSort;
  }

  public final void setColumnSort(final String columnSort) {
    this.columnSort = columnSort;
  }

  public final boolean isAllResults() {
    return allResults;
  }

  public final void setAllResults(boolean allResults) {
    this.allResults = allResults;
  }

  public Long getUserId() {
    return userId;
  }

  public void setUserId(final Long userId) {
    this.userId = userId;
  }

  public List<Long> getIdsList() {
    return idsList;
  }

  public void setIdsList(final List<Long> idsList) {
    this.idsList = idsList;
  }

  public Long getEntityTypeId() {
    return entityTypeId;
  }

  public void setEntityTypeId(final Long entityTypeId) {
    this.entityTypeId = entityTypeId;
  }

}
